package com.assignwork.service;

import com.assignwork.dto.WorkArrangeFixedMachineSubmitDTO;
import com.assignwork.dto.WorkArrangeMachinesSubmitDTO;
import com.assignwork.entity.WorkArrangeFixedMachine;
import com.assignwork.vo.WorkArrangeFixedMachineVO;
import org.springblade.core.mp.base.BaseService;

import java.util.List;

/**
 * @ClassName IWorkArrangeFixedMachineService
 * @Description 配工固机接口
 * @Author dujianyu
 * @Date 2023/12/19 10:18
 */
public interface IWorkArrangeFixedMachineService extends BaseService<WorkArrangeFixedMachine> {

    /**
     * 提交配工固机
     * @param arrangeId 配工ID
     * @param data 数据
     * @param arrangeType 配工类型
     * @return boolean
     * @author dujianyu
     * @since 2023/12/19 10:25
     */
    boolean submitWaFixedMachine(Long arrangeId, List<WorkArrangeFixedMachineSubmitDTO> data, String arrangeType);

    /**
     * 根据配工id返回固机信息
     * @param arrangeId 配工ID
     * @return List<WorkArrangeFixedMachineVO>
     * @author dujianyu
     * @since 2023/12/19 10:25
     */
    List<WorkArrangeFixedMachineVO> infoByArrangeId(Long arrangeId);

    /**
     * 根据配工ID删除固机信息
     * @param arrangeId 配工ID
     * @return boolean
     * @author dujianyu
     * @since 2023/12/19 10:25
     */
    boolean removeByArrangeId(Long arrangeId);

    /**
     * 返回配工使用的固机种类个数
     * @param arrangeIds 配工IDs
     * @return Integer
     * @author dujianyu
     * @since 2024/1/12 9:57
     */
    Integer fixedMachineKindsByarrangeIds(List<Long> arrangeIds);
}
